AWK 怎么读取标准输入(STDIN)

您所在的位置:网站首页 awk readline AWK 怎么读取标准输入(STDIN)

AWK 怎么读取标准输入(STDIN)

2022-03-24 00:56| 来源: 网络整理| 查看: 265

导读 在 awk 系列中,我们将会看到几个例子,你可以筛选其他命令的输出代替从一个文件读取输入作为 awk 的输入。我们首先从使用 dir 命令开始,它类似于 ls 命令。

awk-stdin 在第一个例子下面,我们使用 dir -l 命令的输出作为 awk 命令的输入,这样就可以打印出文件拥有者的用户名,所属组组名以及在当前路径下他/她拥有的文件。

# dir -l | awk '{print $3, $4, $9;}'

awk 系列:awk 怎么读取标准输入(STDIN)

列出当前路径下的用户文件

再来看另一个例子,我们使用 awk 表达式 ,在这里,我们想要在 awk 命令里使用一个表达式筛选出字符串来打印出属于 root 用户的文件。命令如下:

# dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '

awk 系列:awk 怎么读取标准输入(STDIN)

列出 root 用户的文件

上面的命令包含了 (==) 来进行比较操作,这帮助我们在当前路径下筛选出 root 用户的文件。这是通过使用 $3=="root" 表达式实现的。

让我们再看另一个例子,我们使用一个 awk 比较运算符 来匹配一个确定的字符串。

这里,我们使用了 cat 命令 来浏览文件名为 tecmint_deals.txt 的文件内容,并且我们想要仅仅查看有字符串 Tech 的部分,所以我们会运行下列命令:

# cat tecmint_deals.txt # cat tecmint_deals.txt | awk '$4 ~ /tech/{print}' # cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'

awk 系列:awk 怎么读取标准输入(STDIN)

用 Awk 比较运算符匹配字符串

在上面的例子中,我们已经用了参数为 ~ /匹配字符/ 的比较操作,但是上面的两个命令给我们展示了一些很重要的问题。

当你运行带有 tech 字符串的命令时终端没有输出,因为在文件中没有 tech 这种字符串,但是运行带有 Tech 字符串的命令,你却会得到包含 Tech 的输出。

所以你应该在进行这种比较操作的时候时刻注意这种问题,正如我们在上面看到的那样,awk 对大小写很敏感。

你总是可以使用另一个命令的输出作为 awk 命令的输入来代替从一个文件中读取输入,这就像我们在上面看到的那样简单。

希望这些例子足够简单到可以使你理解 awk 的用法,如果你有任何问题,你可以在下面的评论区提问,记得查看 awk 系列接下来的章节内容,我们将关注 awk 的一些功能,比如变量,数字表达式以及赋值运算符。

原文来自:https://linux.cn/article-7610-1.html

本文地址:https://www.linuxprobe.com/awk-stdin-in.html编辑:苏西云,审核员:冯振华

本文原创地址:https://www.linuxprobe.com/awk-stdin-in.html编辑:public,审核员:暂无

为您推荐一些与本文相关的文章:Ubuntu 16.04 LTS值得关注的新特性和改进盘点Google Chrome 被发现重大安全漏洞开源强大、超凡,那能用来做设计吗?红帽发布企业 Linux 原子主机7.2.6搭建私有CA服务器如何使用Shell写一个显示目录结构的命令?mysql备份实战-Xtrabackup工具备份微信付款二维码一不小心成别人的消费付款钱包了解下C# 判断Ubuntu 16.04 LTS将支持ZFS文件系统 相关文章[点此投稿] 简单介绍Python3压缩和解压缩实现代码 简单介绍Python3压缩和解压缩实现代码 2021-04-13 0 个评论 shell脚本整合json数值输出从而获取硬件信息 shell脚本整合json数值输出从而获取硬件信息 2019-07-16 0 个评论 用一个实例讲解rename命令中正则表达式的使用 用一个实例讲解rename命令中正则表达式的使用 2018-01-22 0 个评论 Windows无法远程桌面的解决方案 Windows无法远程桌面的解决方案 2018-10-25 0 个评论 Docker容器中部署Django的时区问题 Docker容器中部署Django的时区问题 2021-10-20 0 个评论

转载必需保留本文链接: https://www.linuxprobe.com/awk-stdin-in.html

本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3